package com.controller;


import com.controller.reqdto.*;
import com.controller.reqdto.report.PcReportDataQuery;
import com.controller.template.ResultHelper;
import com.controller.template.ResultInfo;
import com.service.AddressService;
import com.service.PcService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


/**
 * @author ruiwen
 */
@RestController
@Api(tags = "宿主机模块")
@CrossOrigin
@RequestMapping("/pc")
public class PcController extends ResultHelper {
    @Resource
    PcService pcService;

    /**
     * 获取可分配宿主机列表
     *
     * @param
     * @return
     */
    @ApiOperation("获取可分配宿主机列表")
    @GetMapping("/canUsePcList")
    public ResultInfo getAllAddressList() {
        return successResultInfo(pcService.canUsePcList());
    }

    /**
     * 分页获取宿主机列表
     *
     * @param queryParam
     * @return
     */
    @ApiOperation("分页获取宿主机列表")
    @PostMapping("/queryPcList")
    public ResultInfo queryPcList(@RequestBody PcQueryParam queryParam) {
        return successResultInfo(pcService.queryPcList(queryParam));
    }


    /**
     * 分页获取地区列表
     *
     * @param updateParam
     * @return
     */
    @ApiOperation("更新宿主机信息")
    @PostMapping("/updatePcMsg")
    public ResultInfo updatePcMsg(@RequestBody PcUpdateParam updateParam) {
        return successResultInfo(pcService.updatePcMsg(updateParam));
    }

    /**
     * 分页获取地区列表
     *
     * @param
     * @return
     */
    @ApiOperation("删除宿主机信息")
    @PostMapping("/deletePc")
    public ResultInfo deletePc(Integer id) {
        return successResultInfo(pcService.deletePc(id));
    }
    /**
     * 分页获取地区列表
     *
     * @param
     * @return
     */
    @ApiOperation("新增宿主机信息")
    @PostMapping("/addPc")
    public ResultInfo addPc(@RequestBody PcAddParam pcAddParam) {
        return successResultInfo(pcService.addPc(pcAddParam));
    }


    /**
     * 分页获取宿主机上报数据
     *
     * @param pcId
     * @return
     */
    @ApiOperation("获取宿主机上报数据")
    @GetMapping("/queryPcReportDataById/{pcId}")
    public ResultInfo queryPcReportDataById(@PathVariable("pcId") Integer pcId) {
        return successResultInfo(pcService.queryPcReportDataById(pcId));
    }





}
